package com.example.warehouse.bus.pojo.param;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.*;
import java.io.Serializable;

/**
 * @author Linger
 * @date 2023-07-03 11:43
 * @desciption:添加客户的参数类
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class BusGoodsAddNewParam implements Serializable {

    @NotEmpty(message = "添加失败，请填写商品名！")
    @Pattern(regexp = "^[a-zA-Z][a-zA-Z0-9_-]{0,15}$", message = "添加失败，商品名必须是1~16个由字母、数字、下划线、减号组成的字符！")
    private String goodsName;                 // 商品名

    @NotNull(message = "添加失败，请填写供应商ID！")
    private Long providerId;                  // 供应商ID

    @NotEmpty(message = "添加失败，请填写商品产地！")
    private String producePlace;              // 商品产地

    private String size;                      // 规格

    private String goodsPackage;              // 包装

    private String productCode;               // 生产批号

    private String promitCode;                // 批准文号

    private String description;               // 商品描述

    @NotNull(message = "添加失败，请填写销售价格！")
    private Double price;                     // 销售价格

    @NotNull(message = "添加失败，请填写库存！")
    private Integer number;                   // 数量

    private Integer dangerNum;                // 库存预警值

    private String goodsImg;                  // 商品图片

    @NotNull(message = "添加失败，请选择的启用状态！")
    @Min(value = 0, message = "添加失败，启用状态的值必须是0或1！")
    @Max(value = 1, message = "添加失败，启用状态的值必须是0或1！")
    private Integer enable;                   // 是否启用1启用0不启用
}
